home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / ip / ka9q / aztecnos.arc / HS.H < prev    next >
Encoding:
C/C++ Source or Header  |  1989-02-19  |  2.0 KB  |  81 lines

  1. #ifndef    NHS
  2.  
  3. #include "global.h"
  4.  
  5. /* UNFINISHED! */
  6. /* Hardware-dependent routines for the DRSI or Eagle cards for the PC
  7.  * driving a high speed modem. These cards both contain Zilog 8530s.
  8.  */
  9. #define    NHS    1        /* One card max */
  10.  
  11. struct hs {
  12.     struct {
  13.         int (*vec)();
  14.     } save;
  15.  
  16.     int16 addr;    /* Base I/O adHsess */
  17.     int16 vec;    /* Vector */
  18.     long ints;    /* Interrupt count */
  19. };
  20. extern struct hs Hs[];
  21.  
  22. /* Register offset info, specific to the DRSI PCPA and Eagle cards
  23.  * E.g., to read the data port on channel A, use
  24.  *      inportb(hdlc[dev].base + CHANA + DATA)
  25.  */
  26. #define    CHANB        0    /* Base of channel B regs */
  27. #define    CHANA        2    /* Base of channel A regs */
  28.  
  29. /* 8530 ports on each channel */
  30. #define    CTL    0
  31. #define    DATA    1
  32.  
  33. struct hdlc {
  34.     long rxints;        /* Receiver interrupts */
  35.     long txints;        /* Transmitter interrupts */
  36.     long exints;        /* External/status interrupts */
  37.     long spints;        /* Special receiver interrupts */
  38.     long rxbytes;        /* Total receive bytes */
  39.     long nomem;        /* Buffer allocate failures */
  40.     long toobig;        /* Giant receiver packets */
  41.     long crcerr;        /* CRC Errors */
  42.     long aborts;        /* Receiver aborts */
  43.     long good;        /* Valid frames */
  44.     long txpkts;
  45.     long overrun;        /* Receiver overruns */
  46.  
  47.     int16 bufsiz;        /* Size of rcvbuf */
  48.  
  49.     int16 dev;        /* Device number */
  50.     int16 ctl;        /* Control register */
  51.     int16 data;        /* Data register */
  52.     int16 speed;        /* Line speed, bps */
  53.     long txdelay;        /* Keyup delay, ticks */ 
  54.     char p;            /* P-persistence value */
  55.  
  56.     struct iface *iface;    /* Associated interface */
  57. };
  58.  
  59. /* Interrupt vector handlers (assembler) */
  60. int hsint();
  61.  
  62. #define    OFF    0
  63. #define    ON    1
  64.  
  65. /* Baud rate generator definitions */
  66. struct baudrate {
  67.     int16 speed;
  68.     char val;
  69. };
  70. #if    defined(__STDC__) || defined(__TURBOC__)
  71. int hsint(int16 dev);
  72. int hs_stop(struct iface *iface);
  73. int hs_raw(struct iface *iface,struct mbuf *bp);
  74. #else
  75. int hs_init(),ax_send(),ax_output(),hs_raw(),hs_stop();
  76. #endif
  77.  
  78. #endif /* NHS */
  79.  
  80.  
  81.